package com.xufx.algorithm.sort;

/**
 * n个数字进行排序
 * 冒泡排序
 * 1. 冒泡排序一定是从右向左的，才能第一次把最小的找出来
 * 2. 和1相对应，如果向从小到大，第一轮循环出来的就是最大值
 * 总结来说就是：从左向右迭代，最先确定的是最大值
 *             从右向左迭代，最先确定的是最小值
 */
public class BubbleSort {
    public static void main(String[] args) {
        int[] nums = new int[]{3,1,1,0,-1,7};
        bubbleSort(nums);
        for(int num: nums){
            System.out.println(num);
        }
    }

    private static void bubbleSort(int[] nums){
        for (int i = 0; i< nums.length - 1; i++){
            for(int j = 0; j < nums.length - 1; j++){
                if (nums[j] >= nums[j + 1]){
                    int tmp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = tmp;
                }
            }
        }
    }
}
